import random
commodity_dict = { 'socks' : 10 , 'shoes' : 20 ,'slippers' : 30 , 'necklace' : 40}

def probability(commodity:dict):
    commodity_list = []
    commodity_sum = sum(commodity.values())

    for k,v in commodity.items():
        tem = []
        tem.append(k)
        commodity_list.extend(tem*v)

# 统计随机返回商品次数
    marget_dict = {key: 0 for key in commodity.keys()}
    length = len(commodity_list)
    for _ in range(length):
        random_com = random.choice(commodity_list)
        marget_dict[random_com] = marget_dict[random_com]+1

#  商品被返回的概率
    pro_dict = {key:round((marget_dict[key] / commodity_sum),1) for key in marget_dict.keys()}

# 判断商品返回概率与其库存是否成正比
    random_key = random.choice(list(pro_dict.keys()))
    return True if pro_dict[random_key]*commodity_sum == commodity[random_key] else False


print(probability(commodity_dict))
# 这个题目的要求是，要你的函数能够随机返回一个商品，并且样本数量比较大的时候，商品返回的概率和它
# 在仓库中的比例是接近的。而不是让你计算它出现的概率。
# 尝试再修改一下